home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Prog / L-M / MacOberon 4.0 / Toolbox Interfaces / MacProcesses.Mod (.txt) < prev    next >
Encoding:
Oberon Text  |  1993-10-25  |  5.3 KB  |  136 lines  |  [.Ob./.Ob5]

  1. Syntax10.Scn.Fnt
  2. Syntax10b.Scn.Fnt
  3. Syntax10i.Scn.Fnt
  4. ParcElems
  5. Alloc
  6. MODULE MacProcesses;    (*od 25.10.93*)
  7. (* This Module contains some essential constants, data types and routines from
  8. the NEW Inside Macintosh volume
  9.             Processes
  10. Edit.Open DK.MacOberonApp.Text for more information on how to create
  11. standalone Macintosh applications using MacOberon. *)
  12. IMPORT
  13.     SYSTEM, ME:=MacMemory, TB:=MacToolBox, MF:=MacFiles;
  14. CONST
  15.     kNoProcess* = 0;
  16.     kSystemProcess* = 1;
  17.     kCurrentProcess* = 2;
  18.     (* Process Manager *)
  19.     ProcessSerialNumberPtr* = POINTER- TO ProcessSerialNumber;
  20.     ProcessSerialNumber* = RECORD
  21.         highLongOfPSN*: LONGINT;
  22.         lowLongOfPSN*: LONGINT
  23.     END;
  24.     AppParametersPtr* = POINTER- TO AppParameters;
  25.     AppParameters* = RECORD
  26.         theMsgEvent*: TB.EventRecord;
  27.         eventRefCon*: LONGINT;
  28.         messageLength*: LONGINT;
  29.         messageBuffer*: LONGINT
  30.     END;
  31.     LaunchPBPtr* = POINTER- TO LaunchParamBlockRec;
  32.     LaunchParamBlockRec* = RECORD
  33.         reserved1: LONGINT;
  34.         reserved2: INTEGER;
  35.         launchBlockID*: INTEGER;
  36.         launchEPBLength*: LONGINT;
  37.         launchFileFlags*: INTEGER;
  38.         launchControlFlags*: INTEGER;
  39.         launchAppSpec*: MF.FSSpecPtr;
  40.         launchProcessSN*: ProcessSerialNumber;
  41.         launchPreferredSize*: LONGINT;
  42.         launchMinimumSize*: LONGINT;
  43.         launchAvailableSize*: LONGINT;
  44.         launchAppParameters*: AppParametersPtr
  45.     END;
  46.     ProcessInfoRecPtr* = POINTER- TO ProcessInfoRec;
  47.     ProcessInfoRec* = RECORD
  48.         processInfoLength*: ME.StringPtr;
  49.         processName*: LONGINT;
  50.         processNumber*: ProcessSerialNumber;
  51.         processType*: LONGINT;
  52.         processSignature*: LONGINT;
  53.         processMode*: LONGINT;
  54.         processLocation*: LONGINT;    (* address *)
  55.         processSize*: LONGINT;
  56.         processFreeMem*: LONGINT;
  57.         processLauncher*: ProcessSerialNumber;
  58.         processLaunchDate*: LONGINT;
  59.         processActiveTime*: LONGINT;
  60.         processAppSpec*: MF.FSSpecPtr
  61.     END;
  62.     (* Time Manager *)
  63.         TMMaskPtr*=POINTER- TO TMTask;
  64.         TMTask*=RECORD
  65.             qLink: ME.Ptr;
  66.             qType: INTEGER;
  67.             tmAddr: PROCEDURE;
  68.             tmCount: LONGINT;
  69.             tmWakeUp: LONGINT;
  70.             tmReserved: LONGINT
  71.         END;
  72.     (* Vertical Retrace Manager *)
  73.         VBLTask*=RECORD
  74.             qLink: ME.Ptr;
  75.             qType: INTEGER;
  76.             vblAddr: PROCEDURE;
  77.             vblCount: INTEGER;
  78.             vblPhase: INTEGER
  79.         END;
  80.     (* Notification Manager *)
  81.         NMRecPtr*=POINTER- TO NMRec;
  82.         NMRec = RECORD
  83.              qLink: ME.Ptr;
  84.              qType: INTEGER;
  85.              nmFlags: INTEGER;
  86.              nmPrivate: LONGINT;
  87.              nmReserved: INTEGER;
  88.              nmMark: INTEGER;
  89.              nmIcon: ME.Handle;
  90.              nmSound: ME.Handle;
  91.              nmStr: ME.StringPtr;
  92.              nmResp: PROCEDURE;
  93.              nmRefCon: LONGINT
  94.         END;
  95.     (* Process Manager *)
  96.     PROCEDURE- LaunchApplication*(LaunchParams:LaunchPBPtr): INTEGER    020H,05FH,0A9H,0F2H,03EH,080H;
  97.     PROCEDURE- LaunchDeskAccessory*(pFileSpec: MF.FSSpecPtr; pDAName: ME.StringPtr): INTEGER
  98.         03FH,03CH,000H,036H,0A8H,08FH;
  99.     PROCEDURE- GetCurrentProcess*(VAR PSN: ProcessSerialNumber): INTEGER    03FH,03CH,000H,037H,0A8H,08FH;
  100.     PROCEDURE- GetFrontProcess*(VAR PSN: ProcessSerialNumber): INTEGER    070H,0FFH,02FH,000H,03FH,03CH,000H,
  101.         039H,0A8H,08FH;
  102.     PROCEDURE- GetNextProcess*(VAR PSN: ProcessSerialNumber): INTEGER    03FH,03CH,000H,038H,0A8H,08FH;
  103.     PROCEDURE- GetProcessInformation*(PSN: ProcessSerialNumber;VAR info: ProcessInfoRec): INTEGER
  104.         03FH,03CH,000H,03AH,0A8H,08FH;
  105.     PROCEDURE- SetFrontProcess*(PSN: ProcessSerialNumber): INTEGER    03FH,03CH,000H,03BH,0A8H,08FH;
  106.     PROCEDURE- WakeUpProcess*(PSN: ProcessSerialNumber): INTEGER    03FH,03CH,000H,03CH,0A8H,08FH;
  107.     PROCEDURE- SameProcess*(PSN1: ProcessSerialNumber;PSN2: ProcessSerialNumber; VAR result: BOOLEAN): INTEGER
  108.         03FH,03CH,000H,03DH,0A8H,08FH;
  109.     PROCEDURE- ExitToShell*    0A9H,0F4H;
  110.     (* Time Manager *)
  111.     PROCEDURE- InsTime*(tmTaskPtr:ME.Ptr)    020H,05FH,0A0H,058H;
  112.     PROCEDURE- InsXTime*(tmTaskPtr: ME.Ptr)    020H,05FH,0A4H,058H;
  113.     PROCEDURE- PrimeTime*(tmTaskPtr: ME.Ptr;count: LONGINT)    020H,01FH,020H,05FH,0A0H,05AH;
  114.     PROCEDURE- RmvTime*(tmTaskPtr : ME.Ptr)    020H,05FH,0A0H,059H;
  115.     (* Vertical Retrace Manager *)
  116.     PROCEDURE- GetVBLQHdr*() : ME.Ptr    02EH,0BCH,000H,000H,001H,060H;
  117.     PROCEDURE- SlotVInstall*(vblBlockPtr: ME.Ptr;theSlot: INTEGER): INTEGER    030H,01FH,020H,05FH,0A0H,06FH,03EH,080H;
  118.     PROCEDURE- SlotVRemove*(vblBlPtr: ME.Ptr;theSlot: INTEGER): INTEGER    030H,001H,020H,05FH,0A0H,070H,03EH,080H;
  119.     PROCEDURE- AttachVBL*(theSlot: INTEGER): INTEGER    030H,01FH,0A0H,071H,03EH,080H;
  120.     PROCEDURE- DoVBLTask*(theSlot: INTEGER): INTEGER    030H,01FH,0A0H,072H,03EH,080H;
  121.     PROCEDURE- VInstall*(vblTaskPtr: ME.Ptr): INTEGER    020H,05FH,0A0H,033H,03EH,080H;
  122.     PROCEDURE- VRemove(vblTaskPtr: ME.Ptr): INTEGER    020H,05FH,0A0H,034H,03EH,080H;
  123.     (* Notification Manager *)
  124.     PROCEDURE- NMInstall*(nmReqPtr: NMRecPtr): INTEGER    020H,05FH,0A0H,05EH,03EH,080H;
  125.     PROCEDURE- NMRemove*(nmReqPtr: NMRecPtr): INTEGER    020H,05FH,0A0H,05FH,03EH,080H;
  126.     (* Segment Manager *)
  127.     PROCEDURE- UnloadSeg*(routineAddr: LONGINT)    0A9H,0F1H;
  128.     (* Shutdown Manager *)
  129.     PROCEDURE- ShutDwnPower*    03FH,03CH,000H,001H,0A8H,095H;
  130.     PROCEDURE- ShutDwnStart*    03FH,03CH,000H,002H,0A8H,095H;
  131.     PROCEDURE- ShutDwnInstall*(shutDownProc: PROCEDURE;flags: INTEGER)    03FH,03CH,000H,003H,0A8H,095H;
  132.     PROCEDURE- ShutDwnRemove*(shutDownProc: PROCEDURE)    03FH,03CH,000H,004H,0A8H,095H;
  133.     (* Register based *)
  134.     PROCEDURE- DTInstall*    0A0H,082H;
  135. END MacProcesses.
  136.